package com.baiduspring.jdbc;//package com.com.baiduspring.jdbc;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.jdbc.core.BeanPropertyRowMapper;
//import org.springframework.jdbc.core.JdbcTemplate;
//import org.springframework.jdbc.core.RowMapper;
//import org.springframework.stereotype.Repository;
//
//import java.util.List;
//
//@Repository
//public class JdbcTemplateDaoImpl implements JdbcTemplateDao {
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//
//    private static final JdbcTemplateDaoImpl instance = new JdbcTemplateDaoImpl();
//
//    public static JdbcTemplateDaoImpl getInstance() {
//        return instance;
//    }
//
//    @Override
//    public Object uniqueness(TemplateBean templateBean) {
//        templateBean.validate();
//
//        StringBuilder sql = new StringBuilder("select ");
//        templateBean.getReturnFields().entrySet().forEach(entity -> sql.append(entity.getValue()).append(","));
//
//        /**
//         * 删除最后一个逗号
//         */
//        sql.deleteCharAt(sql.length());
//
//        sql.append(" FROM").append(templateBean.getTableName());
//
//        Object [] vals = new Object[templateBean.getConditionFields().size()];
//        int  index = 0;
//        templateBean.getConditionFields().entrySet().forEach(entity -> {
//            sql.append(" ").append(entity.getKey()).append("=? and");
//            vals[index++] = entity.getValue();
//        });
//
//        sql.deleteCharAt(sql.length() - 3);
//
//        RowMapper rowMapper = new BeanPropertyRowMapper<>(templateBean.getReturnObjClass());
//
//        List result = jdbcTemplate.query(sql.toString(), rowMapper, vals);
//        return result;
//    }
//}
